package com.hz.dao;

import com.hz.pojo.Admin;
import com.hz.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
@Repository
public interface AdminDao {


    /**
     * 000
     * 管理员登录
     * @param admin_name   管理员用户名
     * @param admin_password   管理员密码
     * @return
     * @throws Exception
     */
    public abstract Admin logAdmin(@Param("admin_name") String admin_name,@Param("admin_password") String admin_password)throws Exception;



    /**
     * 111
     * 根据管理员id查询管理员信息
     * @param admin_id
     * @return 一个对象
     * @throws Exception
     */
    public abstract Admin getAdmin(String admin_id)throws Exception;





    /**
     *222
     * 添加管理员
     * @param admin 传入参数为一个对象
     * @return 返回受影响行数
     * @throws Exception
     */
    public abstract int addAdmin(Admin admin)throws Exception;

    /**
     * 333
     * 根据管理员id删除管理员
     * @param admin_id
     * @return 返回受影响行数
     * @throws Exception
     */
    public abstract int delAdmin(String admin_id)throws Exception;

    /**
     * 444
     * 修改管理员的信息
     * @param admin 传入参数为一个对象
     * @return 返回受影响行数
     * @throws Exception
     */
    public abstract int updAdmin(Admin admin)throws Exception;

    /**
     * 555
     * 查询所有管理员信息
     * @return 管理员  集合
     * @throws Exception
     */
    public abstract List<Admin> selAdmin()throws Exception;


    /**
     * 666
     * 查询所有用户信息以及用户安全信息表
     * @return 用户信息以及用户安全信息 集合
     * @throws Exception
     */
    public abstract List<User> selUser(@Param("pages") Integer pages,@Param("pageSize")Integer pageSize,@Param("inquire") String inquire)throws Exception;

    /**
     * 更改用户代理等级
     * @param proxy_id  用户更改后的代理id
     * @open_id         用户的id
     * @return
     * @throws Exception
     */
    public abstract int udpUserProxyId(@Param("proxy_id") int proxy_id,@Param("open_id") String open_id) throws Exception;


    /**
     * 获取用户总数
     * @return
     * @throws Exception
     */
    public abstract int getUserCounts(@Param("inquire") String inquire)throws Exception;

}
